let app = getApp()

Page({

  /**
   * 页面的初始数据
   */
  data: {
    url: '',
    userId: '' // 仅存储用户ID
  },
  exitLogin(){
    wx.removeStorageSync('user')
    this.setData({
      user: null
    });
    wx.showToast({
      title: '已退出登录',
      icon: 'success',
      duration: 1500
    });
    setTimeout(() => {
      wx.switchTab({
        url: '/pages/my/my'
      });
    }, 1500);
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 从本地存储获取用户信息，提取ID
    const storageUser = wx.getStorageSync('user')
    if (storageUser && storageUser.id) {
      this.setData({
        userId: storageUser.id,
        url: app.globalData.url
      })
    } else {
      wx.showToast({
        title: '请先登录',
        icon: 'none',
        duration: 2000
      })
      // 2秒后返回上一页
      setTimeout(() => {
        wx.navigateBack()
      }, 2000)
    }
  },

  /**
   * 处理密码修改表单提交
   */
  UpdatePd(e) {
    const { newPassword, trimPassword } = e.detail.value
    const { userId, url } = this.data

    // 验证新密码不为空
    if (!newPassword) {
      wx.showToast({
        title: '新密码不能为空',
        icon: 'none',
        duration: 2000
      })
      return
    }

    // 验证两次输入的新密码是否一致
    if (newPassword !== trimPassword) {
      wx.showToast({
        title: '两次输入的新密码不一致',
        icon: 'none',
        duration: 2000
      })
      return
    }

    // 调用接口修改密码（直接使用明文密码）
    wx.request({
      url: url + 'user',
      method: 'PUT',
      data: {
        id: userId, // 从本地存储获取的用户ID
        password: newPassword // 直接使用明文密码
      },
      success: (res) => {
        if (res.data.code === 200) {
          wx.showToast({
            title: '密码修改成功',
            icon: 'success',
            duration: 2000
          })
          // 2秒后返回上一页
          setTimeout(() => {
            this.exitLogin()
          }, 2000)
        } else {
          wx.showToast({
            title: res.data.msg || '修改失败，请重试',
            icon: 'none',
            duration: 2000
          })
        }
      },
      fail: () => {
        wx.showToast({
          title: '网络错误，请重试',
          icon: 'none',
          duration: 2000
        })
      },
      complete: () => {
        wx.hideLoading()
      }
    })
  }
})
